package jp.sourceforge.akjrcp.potrace;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import jp.sourceforge.akjrcp.akj_betas.Akj_betasPlugin;
import jp.sourceforge.akjrcp.ui.GenericParameters;

public class MkBitmapUtils {

	public static final String KEY_HEADER="MKBITMAP";
	
	public static String getMkbitmapPath(){
		String path=Akj_betasPlugin.getDefault().getPreferenceStore().getString(PotraceSettingPage.MKBITMAP_PAHT);
		if(path.equals("")){
			return null;
		}else{
			if(new File(path).exists()){
				return path;
			}
		}
		return null;
	}
	public static String[] toCommand(String mkbitmapPath,GenericParameters params,String input,String output){
		List<String> list=new ArrayList<String>();
		list.add(mkbitmapPath);
		
		String s_str=params.getParameters().get(KEY_HEADER+"_"+"s");
		if(!s_str.equals("")){
			list.add("-s");
			list.add(""+(int)Double.parseDouble(s_str));//int only
		}
		String f_str=params.getParameters().get(KEY_HEADER+"_"+"f");
		if(!f_str.equals("")){
			if(f_str.equals("0")||f_str.equals("0.0")){
				list.add("-n");	
			}else{
			list.add("-f");
			list.add(f_str);
			}
		}
		String t_str=params.getParameters().get(KEY_HEADER+"_"+"t");
		if(!t_str.equals("")){
			list.add("-t");
			list.add(t_str);
		}
		String i_str=params.getParameters().get(KEY_HEADER+"_"+"i");
		if(i_str!=null){
			list.add("-i");
		}
		
		String g_str=params.getParameters().get(KEY_HEADER+"_"+"g");
		if(g_str!=null){
			list.add("-g");
		}

		list.add("-o");
		list.add(output);
		list.add(input);
		return (String[]) list.toArray(new String[list.size()]);
	}
}
